package utils

import (
	"errors"
	"os"
)

// DirectoryExists 判断目录是否存在
func DirectoryExists(path string) (bool, error) {
	fileInfo, err := os.Stat(path)
	if err == nil {
		if fileInfo.IsDir() {
			return true, nil
		}
		return false, errors.New("存在同名的文件")
	}
	if os.IsNotExist(err) {
		return false, nil
	}
	return false, err
}

// PathExists 判断路径是否存在
func PathExists(path string) bool {
	_, err := os.Stat(path)
	if err == nil {
		return true
	}
	if os.IsNotExist(err) {
		return false
	}
	return false
}

// CreateDir 批量创建目录  dirPathList目录路径
func CreateDir(dirPathList ...string) error {
	for _, v := range dirPathList {
		exist, err := DirectoryExists(v)
		if !exist && err == nil {
			if err := os.MkdirAll(v, os.ModePerm); err != nil {
				return err
			}
		}
	}
	return nil
}
